Various kinds of dot printers are known in the art. Early so-called "dot matrix" printers employed one or more pins driven forward and backward by a solenoid drive mechanism to transfer ink from a ribbon to the surface of a media as a series of dots or "pixels". This type of printer can be contrasted to laser printers, electrostatic printers, and the like, which form an entire two dimensional area as dots from a "toner" material which is then transferred to the surface of the media and fused to the surface by the application of heat. While mechanical dot matrix printers are still used in some applications, modern dot printers are more likely to employ a thermal inline printhead, a thermal printhead or an inkjet printhead.
Typically, an inline thermal printhead includes a plurality of print positions arranged in a horizontal line across the entire width of the print area. Each print position has a heating element connected to wires. When power is applied to the wires, the heating element increases in temperature. At a certain temperature, the heating element causes a visible dot to appear on the media being printed when employing thermal direct techniques where the heat is applied to a heat-sensitive coating on the surface of the media, or, where ink is transferred from a thermally sensitive ribbon to form a dot on the surface of the media.
The size and shape of the dot is a function of the shape of the heating element, temperature of the heating element and the length of time the element is applied to the medium or ribbon. As the heating elements retain heat from previous printing operations and adjacent elements, the quiescent temperature of the heating elements rise.
When using a conventional thermal printer, the heating elements are selectively heated to form a line of dots which are a linear portion of the characters comprising the row of information to be printed. Once the line of dots is printed, the media advances so that another line of dots can be printed as the process is repeated. The characters in the row are simultaneously formed as a predetermined number of rows of dots are printed.
A drive system comprising a stepper motor and a system of gears and rollers advances the media a predetermined distance along a paper path such that another row of dots can be printed. This process is repeated until the entire row of characters or "print line" is printed on the media. After the print line is printed, the paper is advanced so that another print line can be printed as the process is repeated.
The power required to print a row of dots is a function of the number of print elements that are powered for a given row. The higher the number of print elements powered, the higher the current required from a given power supply. This is known in the art as dot utilization or the number of dots printed for a given row. As an example, the dot utilization of a Point-of-Sale (POS) printer printing normal text averages below thirty percent (30%). On the other hand, printing logos can result in dot utilizations up to one hundred percent (100%) or totally black printing across the media.
The power required for the printing operation is also a function of the printer motor. Stepper motors are widely used in computer printers because they have accurate position control and are compatible with digital systems. Electrical pulses of suitable amplitude and pulse width are supplied to the stepper motor to advance the motor by a predetermined distance for each pulse. One advantage of stepper motors is that the motor position can be determined by counting the pulses applied to it. Stepper motors have a torque-speed characteristic wherein torque decreases as speed increases. Stepper motor acceleration and deceleration times have been undesirably long due in part to the nature of the available torque characteristic of the motor. In an attempt to counteract this problem, stepper motors are accelerated and decelerated in accordance with a predetermined velocity profile, or velocity variation as a function of time. The corresponding graph is known by those in the art as a "ramp" curve. The ramp curve for a particular motor can be stored in a computer as a series of numbers or "ramp table."
Ramp tables are used to vary the stepper motor's speed. They usually involve the assumption that the motor velocity will follow a particular mathematical function, such as a straight line (constant acceleration) or a parabola (very low acceleration at peak speed). Ramp down curves can also be generated empirically. The procedures for generating ramp down curves and the routines for incorporating such curves into the printer's microcode are well known by those who practice the art. One such procedure is described in U.S. Pat. No. 5,274,316, issued on Dec. 28, 1993 to Evans.
Point of Sale (POS) computer terminals and other commercial applications typically use thermal printers for printing sales receipts and other documentation. Often printers used in these applications are attached to the POS terminal and the POS terminal supplies power to the thermal printer. Due to obsolescence and maintenance, it is often necessary to replace the thermal printer without replacing the entire POS terminal. As the technology has been able to offer better quality and increased flexibility, the power necessary to run newer printers has also increased. Unfortunately, the power supplies in most existing POS terminals were designed for older printers that do not have the relatively high power requirements of newer printers.
It is possible to reduce the speed of the printer, and thereby, reduce the power required for printing due to a lower printing duty cycle. However, if the dot utilization is low, reducing the speed needlessly slows down the entire printing operation.
What is needed, therefore, is a printer that can look ahead to determine the power requirements for a given block of information to be printed. If necessary, power requirements can be maintained at a given level as the dot utilization percentage increases or power requirements can be reduced for a given block of information to be printed.